home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / dlibs12 / ltoa.c < prev    next >
C/C++ Source or Header  |  1990-11-23  |  723b  |  45 lines

  1. char    _numstr[] = "0123456789ABCDEF";
  2.  
  3. char *ultoa(n, buffer, radix)
  4.     register unsigned long n;
  5.     register char *buffer;
  6.     register int radix;
  7.     {
  8.     register char *p = buffer;
  9.     char *strrev();
  10.  
  11.     do
  12.         {
  13.         *p++ = _numstr[n % radix];    /* grab each digit */
  14.         }
  15.         while((n /= radix) > 0);
  16.     *p = '\0';
  17.     return(strrev(buffer));            /* reverse and return it */
  18.     }
  19.  
  20. char *ltoa(n, buffer, radix)
  21.     register long n;
  22.     register char *buffer;
  23.     int radix;
  24.     {
  25.     register char *p = buffer;
  26.  
  27.     if (n < 0)
  28.         {
  29.         *p++ = '-';
  30.         n = -n;
  31.         }
  32.     ultoa(n, p, radix);
  33.     return(buffer);
  34.     }
  35.  
  36. char *itoa(n, buffer, radix)
  37.     int n;
  38.     char *buffer;
  39.     int radix;
  40.     {
  41.     char *ltoa();
  42.  
  43.     return(ltoa(((long) n), buffer, radix));
  44.     }
  45.